$$ object.tpl
$$
$$ 面向对象函数库模板
$$

statement: 定义一个类{类名}，它继承自[{父类名}]*，它的一般属性有[{一般属性名}]*，它的共享属性有[{共享属性名}]* ->
(defclass {类名} ([{父类名}]*) ([({一般属性名} :accessor {一般属性名})]* [({共享属性名} :accessor {共享属性名} :allocation :class)]*))

statement: 定义一个通用函数{函数名}，它的参数有[{参数名}]* ->
(defgeneric {函数名} ([{参数名}]*))

statement: 定义一个方法{方法名}，它的参数有[{参数名}：{参数类型}，]*，它的功能是{功能} ->
(defmethod {方法名} ([({参数名} {参数类型})]*) {功能})

statement: 实例化类{类名} ->
(make-instance {类名})

statement: {对象名}的属性{属性名} ->
(slot-value {对象名} '{属性名})

statement: {对象名}的{属性名} ->
({属性名} {对象名})

statement: 对于{对象名}的属性[{属性名}的别名{别名}]*，执行[{body}]* ->
(with-accessors ([({别名} {属性名})]*) {对象名} [{body}]*)

